/**
 * Vuex getters 对象，用于获取用户相关的状态
 */
const getters = {
  /**
   * 获取用户的 token
   * @param {Object} state - Vuex 状态对象
   * @returns {string|null} - 用户的 token，如果用户信息未定义则返回 null
   */
  token: (state) => state.user? state.user.token : null,
  /**
   * 获取用户的头像信息
   * @param {Object} state - Vuex 状态对象
   * @returns {string|null} - 用户的头像，如果用户信息未定义则返回 null
   */
  avatar: (state) => state.user? state.user.avatar : null,
  /**
   * 获取用户的姓名
   * @param {Object} state - Vuex 状态对象
   * @returns {string|null} - 用户的姓名，如果用户信息未定义则返回 null
   */
  name: (state) => state.user? state.user.name : null,
  /**
   * 获取用户的角色列表
   * @param {Object} state - Vuex 状态对象
   * @returns {Array} - 用户的角色列表，如果用户信息未定义则返回空数组
   */
  roles: (state) => state.user? state.user.roles : [],
  /**
   * 获取用户的权限列表
   * @param {Object} state - Vuex 状态对象
   * @returns {Array} - 用户的权限列表，如果用户信息未定义则返回空数组
   */
  permissions: (state) => state.user? state.user.permissions : []
};

export default getters;